package com.lxu.util;

import java.util.Map;
import java.util.Set;

public class XWPFDocumentBaseUtils {
    /**
     * 判断文本中时候包含{{
     * @param text 文本
     * @return 包含返回true,不包含返回false
     */
    public static boolean checkText(String text){
        boolean check  =  false;
        if(null != text && text.indexOf("$")!= -1){
            check = true;
        }
        return check;
    }

    /**
     * 匹配传入信息集合与模板
     * @param value 模板需要替换的区域
     * @param textMap 传入信息集合
     * @return 模板需要替换区域信息集合对应值
     */
    public static String changeValue(String value, Map<String, Object> textMap){
        Set<Map.Entry<String, Object>> textSets = textMap.entrySet();
        for (Map.Entry<String, Object> textSet : textSets) {
            //匹配模板与替换值 格式{{key}}
            String key = "${"+textSet.getKey()+"}";

            if(null != value && value.indexOf(key)!= -1){
                String s = (String)textSet.getValue();
                value = s;
            }
        }
        //模板未匹配到区域替换为空
        if(XWPFDocumentBaseUtils.checkText(value)){
            value = "NULL";
        }
        return value;
    }
}
